/*--------------------------------------------------------------------------
  Project::MONDIALI SCI ALPINISMO
  Package::States
  Class::InitState
  File InitState.h
  --------------------------------------------------------------------------
  * METHODS AND CLASS PARAMETERS


  --------------------------------------------------------------------------
  * FUNCTIONS DESCRIPTION
  
	...

  --------------------------------------------------------------------------
  * COPYRIGHT

  --------------------------------------------------------------------------
  * INFO ABOUT AUTHOR AND VERSIONS
  Author:	Tino Giorgio	Data: 
  Rev1:			Data:

  --------------------------------------------------------------------------
  * E-MAIL & CONTACTS

  GIORGIO TINO:	tinoshi@libero.it
	           	shapeofangels@hotmail.com
	            giorgio.tino@studenti.polito.it

  --------------------------------------------------------------------------*/

#if !defined(INITSTATE_H)
#define INITSTATE_H

/* Application Includes*/
#include "State.h"

/* DEFINES */

class InitState : public State
{
public:
	InitState();
	virtual ~InitState();
	
	// class 'callbacks' (they aren't callbacks really...)
	void load(const char* filename);
    void display(void);
    void resize(int w, int h);
    void keyUp(unsigned char key, int x, int y);
    void keyDown(unsigned char key, int x, int y);
    void specialUp(int key, int x, int y);
    void specialDown(int key, int x, int y);
    void motion(int newx, int newy); 
    void passive(int newx, int newy);
    void mouse(int button, int state, int mouseX, int mouseY);
    State* idle(void);
	
	// uiSceneDelegate
	virtual void onCallback(const uiScene* scene, const uiView* view, const char* name, puObject* object);
	virtual void onActiveCallback(const uiScene* scene, const uiView* view, const char* name, puObject* object);
	virtual void onDownCallback(const uiScene* scene, const uiView* view, const char* name, puObject* object);
	
private:
	float valuator1;
	
	uiProperty(puText,text1)
	uiProperty(puText,text2)
	uiProperty(puInput,input2)
	uiProperty(puDial,dial1)
    uiProperty(puPopup, popup1)
    uiProperty(puDialogBox, dialogBox1)
    uiProperty(puPopupMenu, popupMenu1)
    uiProperty(uiButton, dialogBoxOk)
    uiProperty(uiButton, treesButton)
    uiProperty(puButton, exitButton2)
	uiProperty(puOneShot, submenuitem_save)
	uiProperty(puOneShot, vsubmenuitem_open)
    uiProperty(uiListBox, listBox1)
    uiProperty(uiButtonBox, buttonBox1)
    uiProperty(uiComboBox, comboBox1)
    uiProperty(uiSelectBox, selectBox1)
    uiProperty(uiFileSelector, fileSelector1)
};

#endif // !defined(INITSTATE_H_)
